/**
 * 
 * @param {*} params 
 * @ajaxTimes 同时发送异步代码的次数 
 * 封装接口 
 */
let ajaxTimes = 0 // 解决首页三个接口同时请求的问题

export const request = (params) => {
    // 判断url中是否带有/my/  如果是 则请求的是私有的路径  带上header token
    let header = {...params.header} // 保证多个属性参数都可以传过来
    if(params.url.includes('/my/')) {
        header['Authorization'] = wx.getStorageSync('token')
    }

    // console.log(params) ...params扩展运算符  之后覆盖参数及参数值
    ajaxTimes ++
    // 显示加载中  效果
    wx.showLoading({
        title: '加载中',
        mask: true,
        success: (result)=>{
            
        },
        fail: ()=>{},
        complete: ()=>{}
    });

    // baseURL提取公共接口路径
    const baseURL = 'https://api-hmugo-web.itheima.net/api/public/v1'
    return new Promise((resolve, reject) => {
        wx.request({
            ...params,
            header: header,
            url: baseURL + params.url,
            success: (result) => {
                // resolve(result)
                resolve(result.data.message)
                console.log(result)
            },
            fail: (err) => {
                reject(err)
            },
            complete: () => { 
                ajaxTimes -- 
                if(ajaxTimes === 0) {
                    wx.hideLoading() // 关闭正在等待的图标
                }
            }
        });
    })
}

// const test = {a:1,b:2,c:{ccc:'enen'}}
// const res = {...test,b:3}
// console.log(res) 
// {a:1,b:3,c:{ccc:'enen'}}
